The present invention relates to an information processing method, a secure inter-task communication method on an operating system, and a computer-executable program for the same.
More specifically, the present invention relates to an information processing method wherein a processor executes tasks using memory or other such hardware resources, particularly having a configuration wherein one or more tasks operate under an environment provided by an operating system, and wherein, in a configuration with an operating system and multi-tasks existing on the operating system, the operating system securely executes application programs described in the task portions; and to a secure inter-task communication method on an operating system, wherein, in the configuration of an operating system and tasks executed on the operating system, the security level of tasks themselves and whether or not there is a security mode specified at the time of transmitting and receiving on the task side are judged at the operating system side, and in the event that there is security, a communication work area is obtained from a memory area regarding which access thereto is restricted, and the contents of transmission are enciphered; and further to a computer-executable program for realizing the above methods on a computer.
Recently, computing technology such as information processing and information communication has improved greatly, and computer systems have come to be commonplace. Computer systems generally execute various types of computation processing under the control of an operating system.
With recent operating systems, a mechanism capable of switching between and processing multiple programs such that several jobs can be worked on in parallel, i.e., “multi-tasking”, is becoming common. Operating systems multiplex hardware resources, which are actually finite, in a virtual manner, and efficiently appropriate the hardware resources to the requests of each of the programs.
For example, Japanese Unexamined Patent Application Publication No. 2000-48483 discloses an information processing method which allows mutual verification between a reproducing device and a data processing device, enabling a multi-tasking configuration for each of the contents being reproduced on the reproducing device. That is to say, the reproducing device reads out data stored in a storing medium with an identification ID from the data processing device according to requests from the data processing device, and performs a plurality of enciphering and verification jobs by temporarily storing an intermediate key INT KEY in a selective and time-divided manner, and also performs time-division sending. Also, the data processing device deals with multiple sets of data requested by the time-division processing in a selective and time-divided manner by temporarily storing parameters for a plurality of deciphering and verification jobs by identifiers returned from the reproducing device, and performs enciphering and verification tasks corresponding to the plurality of sets of time-division processing.
However, the information processing method described in this Publication only performs mutual verification between the devices, and mutual verification is not performed in the case of requesting a service at the time of activating a task or from a task to the operating system.
In the event that the kernel portion and the task are provided independently, or in the event that a part of the tasks have been created by a third party, there is no way to know whether the task is reliable and valid.
That is to say, there are cases wherein application programs described in the task portion cannot be executed securely as viewed from the operating system.
Also, with normal arrangements for inter-task communication on operating systems, there has been no memory provided for hiding or concealing the contents of data being exchanged, so the contents can be read out and written to by software modules created by a third party.
A mechanism capable of realizing inter-task communication (e.g., mail) according to whether or not security has been set by the transmitting side task has been invented to deal with this, in order to realize secrecy of data being sent via the operating system.
For example, Japanese Unexamined Patent Application Publication No. 08-106441 describes an inter-process communication method having a security level based upon the assumption of a micro-architecture type operating system.
However, this Publication also has a problem in that a trusted server, equivalent to a verification office, is necessary outside the operating system.